package com.njxxted.activiti.modules.api;

import com.njxxted.activiti.common.annotation.FeignClient;
import com.njxxted.activiti.common.response.ResponseVo;
import com.njxxted.activiti.modules.api.entity.PushVo;
import feign.Param;
import feign.QueryMap;
import feign.RequestLine;

/**
 * 描述：调用推送服务接口 api
 * <p>
 * 作者：Ostrich Hu
 * 时间：2019/10/8 18:35 星期二
 */
@FeignClient
public interface PushApi {

    /**
     * 推送消息到指定用户
     *
     * @param param
     * @return
     */
    @RequestLine("POST /api/rest/push/send2user")
    ResponseVo convertAndSendToUser(@QueryMap PushVo param);

    /**
     * 推送消息到所有用户
     *
     * @param param
     * @return
     */
    @RequestLine("POST /api/rest/push/send2all")
    ResponseVo convertAndSend(@QueryMap PushVo param);

    /**
     * 保存推送的信息
     *
     * @param param
     * @return
     */
    @RequestLine("POST /api/rest/push/save")
    ResponseVo pushSave(@QueryMap PushVo param);

    /**
     * 保存推送的业务信息
     *
     * @param param
     * @return
     */
    @RequestLine("POST api/rest/push/save/batch")
    ResponseVo messageSaveBatchForPush(@Param("param") String param);

}
